Title: Year 12 / Computer Science / Practical / 10 - Data types and structures / 10.4 - Abstract Data Types

Q: Describe what is meant by an "abstract data type"
A: collection of data with an associated set of operations on that data

Q: State 3 examples of abstract data types
A: stacks, queues, linked lists

Q: Describe the key features of a "stack"
A: an ordered collection of items where the addition of new items and removal of existing items takes place at the same end (last in, first out principle)

Q: Describe the key features of a "queue"
A: linear structure which follows FIFO rule, items are added at one end, aka rear, and removed at the other end (front)

Q: Describe the key features of a "linked list"
A: linear collection of elements whose order is not given by physical placements in memory (aka non contiguous), each element points to the next

Q: Write psuedocode to add an item to a stack
A: <identifier>.push(item)

Q: Write psuedocode to delete data from a stack
A: <identifier>.pop()

Q: Write psuedocode to add data to a queue
A: <identifier>.enqueue(item)

Q: Write psuedocode to delete data from a queue
A: <identifier>.dequeue()